home *** CD-ROM | disk | FTP | other *** search
Text File | 1991-04-05 | 10.2 KB | 253 lines | [TEXT/PJMM] |
- { This file has been processed by The THINK Pascal Source Converter, v1.1. }
-
- {}
- { HyperXCmd.p}
- { Definition file for HyperCard XCMDs and XFCNs in Pascal.}
- {}
- { Copyright Apple Computer, Inc. 1987-1990}
- { All rights reserved}
- {}
-
-
- {$IFC UNDEFINED UsingIncludes}
- {$SETC UsingIncludes := 0}
- {$ENDC}
-
-
- unit HyperXCmd;
- interface
- uses
- Types, Quickdraw, Events, TextEdit, Menus, Dialogs, OSUtils, Files, StandardFile;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- const
- { result codes }
- xresSucc = 0;
- xresFail = 1;
- xresNotImp = 2;
-
- { XCMDBlock constants for event.what... }
- xOpenEvt = 1000; { the first event after you are created }
- xCloseEvt = 1001; { your window is being forced close (Quit?) }
- xGiveUpEditEvt = 1002; { you are losing Edit... }
- xGiveUpSoundEvt = 1003; { someone else is requesting HyperCard's sound channel }
- xHidePalettesEvt = 1004; { someone called HideHCPalettes }
- xShowPalettesEvt = 1005; { someone called ShowHCPalettes }
- xEditUndo = 1100; { Edit——Undo }
- xEditCut = 1102; { Edit——Cut }
- xEditCopy = 1103; { Edit——Copy }
- xEditPaste = 1104; { Edit——Paste }
- xEditClear = 1105; { Edit——Clear }
- xSendEvt = 1200; { script has sent you a message (text) }
- xSetPropEvt = 1201; { set a window property }
- xGetPropEvt = 1202; { get a window property }
- xCursorWithin = 1300; { cursor is within the window }
- xMenuEvt = 1400; { user has selected an item in your menu }
- xMBarClickedEvt = 1401; { a menu is about to be shown--update if needed }
-
- xShowWatchInfoEvt = 1501; { for variable and message watchers }
- xScriptErrorEvt = 1502; { place the insertion point }
- xDebugErrorEvt = 1503; { user clicked "Debug" at a complaint }
- xDebugStepEvt = 1504; { hilite the line }
- xDebugTraceEvt = 1505; { same as step but tracing }
- xDebugFinishedEvt = 1506; { script ended }
-
- paletteProc = 2048; { Windoid with grow box }
- palNoGrowProc = 2052; { standard Windoid defproc }
- palZoomProc = 2056; { Windoid with zoom and grow }
- palZoomNoGrow = 2060; { Windoid with zoom and no grow }
- hasZoom = 8;
- hasTallTBar = 2;
- toggleHilite = 1;
-
- maxCachedChecks = 16; { maximum number of checkpoints in a script }
-
- { paramCount is set to these constants when first calling special XThings }
- xMessageWatcherID = -2;
- xVariableWatcherID = -3;
- xScriptEditorID = -4;
- xDebuggerID = -5;
-
- { XTalkObjectPtr^.objectKind values }
- stackObj = 1;
- bkgndObj = 2;
- cardObj = 3;
- fieldObj = 4;
- buttonObj = 5;
-
- { selectors for ShowHCAlert's dialogs (shown as buttonID:buttonText) }
- errorDlgID = 1; { 1:OK (default) }
- confirmDlgID = 2; { 1:OK (default) and 2:Cancel }
- confirmDelDlgID = 3; { 1:Cancel (default) and 2:Delete }
- yesNoCancelDlgID = 4; { 1:Yes (default), 2:Cancel, and 3:No }
-
-
- type
- XCmdPtr = ^XCmdBlock;
- XCmdBlock = record
- paramCount: INTEGER; { If = -1 then new use for XWindoids }
- params: array[1..16] of Handle;
- returnValue: Handle;
- passFlag: BOOLEAN;
-
- entryPoint: ProcPtr; { to call back to HyperCard }
- request: INTEGER;
- result: INTEGER;
- inArgs: array[1..8] of LongInt;
- outArgs: array[1..4] of LongInt;
- end;
-
- XWEventInfoPtr = ^XWEventInfo;
- XWEventInfo = record
- event: EventRecord;
- eventWindow: WindowPtr;
- eventParams: array[1..9] of LongInt;
- eventResult: Handle;
- end;
-
- XTalkObjectPtr = ^XTalkObject;
- XTalkObject = record
- objectKind: INTEGER; { stack, bkgnd, card, field, or button }
- stackNum: LongInt; { reference number of the source stack }
- bkgndID: LongInt;
- cardID: LongInt;
- buttonID: LongInt;
- fieldID: LongInt;
- end;
-
- CheckPtHandle = ^CheckPtPtr;
- CheckPtPtr = ^CheckPts;
- CheckPts = record
- checks: array[1..maxCachedChecks] of INTEGER;
- end;
-
-
- (**** HyperTalk Utilities ****)
- function EvalExpr (paramPtr: XCmdPtr; expr: Str255): Handle;
- procedure SendCardMessage (paramPtr: XCmdPtr; msg: Str255);
- procedure SendHCMessage (paramPtr: XCmdPtr; msg: Str255);
- procedure RunHandler (paramPtr: XCmdPtr; handler: Handle);
-
- (**** Memory Utilities ****)
- function GetGlobal (paramPtr: XCmdPtr; globName: Str255): Handle;
- procedure SetGlobal (paramPtr: XCmdPtr; globName: Str255; globValue: Handle);
- procedure ZeroBytes (paramPtr: XCmdPtr; dstPtr: Ptr; longCount: LongInt);
-
- (**** String Utilities ****)
- procedure ScanToReturn (paramPtr: XCmdPtr; var scanPtr: Ptr);
- procedure ScanToZero (paramPtr: XCmdPtr; var scanPtr: Ptr);
- function StringEqual (paramPtr: XCmdPtr; str1, str2: Str255): BOOLEAN;
- function StringLength (paramPtr: XCmdPtr; strPtr: Ptr): LongInt;
- function StringMatch (paramPtr: XCmdPtr; pattern: Str255; target: Ptr): Ptr;
- procedure ZeroTermHandle (paramPtr: XCmdPtr; hndl: Handle);
-
- (**** String Conversions ****)
- procedure BoolToStr (paramPtr: XCmdPtr; bool: BOOLEAN; var str: Str255);
- procedure ExtToStr (paramPtr: XCmdPtr; num: Extended; var str: Str255);
- procedure LongToStr (paramPtr: XCmdPtr; posNum: LongInt; var str: Str255);
- procedure NumToHex (paramPtr: XCmdPtr; num: LongInt; nDigits: INTEGER; var str: Str255);
- procedure NumToStr (paramPtr: XCmdPtr; num: LongInt; var str: Str255);
- function PasToZero (paramPtr: XCmdPtr; str: Str255): Handle;
- procedure PointToStr (paramPtr: XCmdPtr; pt: Point; var str: Str255);
- procedure RectToStr (paramPtr: XCmdPtr; rct: Rect; var str: Str255);
- procedure ReturnToPas (paramPtr: XCmdPtr; zeroStr: Ptr; var pasStr: Str255);
- function StrToBool (paramPtr: XCmdPtr; str: Str255): BOOLEAN;
- function StrToExt (paramPtr: XCmdPtr; str: Str255): Extended;
- function StrToLong (paramPtr: XCmdPtr; str: Str255): LongInt;
- function StrToNum (paramPtr: XCmdPtr; str: Str255): LongInt;
- procedure StrToPoint (paramPtr: XCmdPtr; str: Str255; var pt: Point);
- procedure StrToRect (paramPtr: XCmdPtr; str: Str255; var rct: Rect);
- procedure ZeroToPas (paramPtr: XCmdPtr; zeroStr: Ptr; var pasStr: Str255);
-
- (**** Field Utilities ****)
- function GetFieldByID (paramPtr: XCmdPtr; cardFieldFlag: BOOLEAN; fieldID: INTEGER): Handle;
- function GetFieldByName (paramPtr: XCmdPtr; cardFieldFlag: BOOLEAN; fieldName: Str255): Handle;
- function GetFieldByNum (paramPtr: XCmdPtr; cardFieldFlag: BOOLEAN; fieldNum: INTEGER): Handle;
- procedure SetFieldByID (paramPtr: XCmdPtr; cardFieldFlag: BOOLEAN; fieldID: INTEGER; fieldVal: Handle);
- procedure SetFieldByName (paramPtr: XCmdPtr; cardFieldFlag: BOOLEAN; fieldName: Str255; fieldVal: Handle);
- procedure SetFieldByNum (paramPtr: XCmdPtr; cardFieldFlag: BOOLEAN; fieldNum: INTEGER; fieldVal: Handle);
- function GetFieldTE (paramPtr: XCmdPtr; cardFieldFlag: BOOLEAN; fieldID, fieldNum: INTEGER; fieldNamePtr: StringPtr): TEHandle;
- procedure SetFieldTE (paramPtr: XCmdPtr; cardFieldFlag: BOOLEAN; fieldID, fieldNum: INTEGER; fieldNamePtr: StringPtr; fieldTE: TEHandle);
-
- (**** Miscellaneous Utilities ****)
- procedure BeginXSound (paramPtr: XCmdPtr; window: WindowPtr);
- procedure EndXSound (paramPtr: XCmdPtr);
- function GetFilePath (paramPtr: XCmdPtr; fileName: Str255; numTypes: INTEGER; typeList: SFTypeList; askUser: BOOLEAN; var fileType: OSType; var fullName: Str255): BOOLEAN;
- procedure GetXResInfo (paramPtr: XCmdPtr; var resFile: INTEGER; var resID: INTEGER; var rType: ResType; var name: Str255);
- procedure Notify (paramPtr: XCmdPtr);
- procedure SendHCEvent (paramPtr: XCmdPtr; event: EventRecord);
- procedure SendWindowMessage (paramPtr: XCmdPtr; windPtr: WindowPtr; windowName: Str255; msg: Str255);
- function FrontDocWindow (paramPtr: XCmdPtr): WindowPtr;
- function StackNameToNum (paramPtr: XCmdPtr; stackName: Str255): LongInt;
- function ShowHCAlert (paramPtr: XCMDPtr; dlgID: INTEGER; promptStr: Str255): INTEGER;
-
- (**** Creating and Disposing XWindoids ****)
- function NewXWindow (paramPtr: XCmdPtr; boundsRect: Rect; title: Str255; visible: BOOLEAN; procID: INTEGER; color: BOOLEAN; floating: BOOLEAN): WindowPtr;
- function GetNewXWindow (paramPtr: XCmdPtr; templateType: ResType; templateID: INTEGER; color: BOOLEAN; floating: BOOLEAN): WindowPtr;
- procedure CloseXWindow (paramPtr: XCmdPtr; window: WindowPtr);
-
- (**** XWindoid Utilities ****)
- procedure HideHCPalettes (paramPtr: XCmdPtr);
- procedure ShowHCPalettes (paramPtr: XCmdPtr);
- procedure RegisterXWMenu (paramPtr: XCmdPtr; window: WindowPtr; menu: MenuHandle; registering: BOOLEAN);
- procedure SetXWIdleTime (paramPtr: XCmdPtr; window: WindowPtr; interval: LongInt);
- procedure XWHasInterruptCode (paramPtr: XCmdPtr; window: WindowPtr; haveCode: BOOLEAN);
- procedure XWAlwaysMoveHigh (paramPtr: XCmdPtr; window: WindowPtr; moveHigh: BOOLEAN);
- procedure XWAllowReEntrancy (paramPtr: XCmdPtr; window: WindowPtr; allowSysEvts: BOOLEAN; allowHCEvts: BOOLEAN);
-
- (**** Text Editing Utilities ****)
- procedure BeginXWEdit (paramPtr: XCmdPtr; window: WindowPtr);
- procedure EndXWEdit (paramPtr: XCmdPtr; window: WindowPtr);
- function HCWordBreakProc (paramPtr: XCmdPtr): ProcPtr;
- procedure PrintTEHandle (paramPtr: XCmdPtr; hTE: TEHandle; header: StringPtr);
-
- (**** Script Editor support ****)
- function GetCheckPoints (paramPtr: XCmdPtr): CheckPtHandle;
- procedure SetCheckPoints (paramPtr: XCmdPtr; checkLines: CheckPtHandle);
- procedure FormatScript (paramPtr: XCmdPtr; scriptHndl: Handle; var insertionPoint: LongInt; quickFormat: BOOLEAN);
- procedure SaveXWScript (paramPtr: XCmdPtr; scriptHndl: Handle);
- procedure GetObjectName (paramPtr: XCmdPtr; theObject: XTalkObjectPtr; var objName: Str255);
- procedure GetObjectScript (paramPtr: XCmdPtr; theObject: XTalkObjectPtr; var scriptHndl: Handle);
- procedure SetObjectScript (paramPtr: XCmdPtr; theObject: XTalkObjectPtr; scriptHndl: Handle);
-
- (**** Debugging Tools support ****)
- procedure AbortScript (paramPtr: XCmdPtr);
- procedure GoScript (paramPtr: XCmdPtr);
- procedure StepScript (paramPtr: XCmdPtr; stepInto: BOOLEAN);
- procedure CountHandlers (paramPtr: XCmdPtr; var handlerCount: INTEGER);
- procedure GetHandlerInfo (paramPtr: XCmdPtr; handlerNum: INTEGER; var handlerName: Str255; var objectName: Str255; var varCount: INTEGER);
- procedure GetVarInfo (paramPtr: XCmdPtr; handlerNum: INTEGER; varNum: INTEGER; var varName: Str255; var isGlobal: BOOLEAN; var varValue: Str255; varHndl: Handle);
- procedure SetVarValue (paramPtr: XCmdPtr; handlerNum: INTEGER; varNum: INTEGER; varHndl: Handle);
- function GetStackCrawl (paramPtr: XCmdPtr): Handle;
- procedure TraceScript (paramPtr: XCmdPtr; traceInto: BOOLEAN);
-
-
- { UsingHyperXCmd }
-
-
- implementation
- end.
-